python 求均值、中位数、众数的方法 您所在的位置:网站首页 python pandas 求众数 python 求均值、中位数、众数的方法

python 求均值、中位数、众数的方法

2023-03-14 14:16| 来源: 网络整理| 查看: 265

python 求均值、中位数、众数的方法

看了n久的python,可当解决实际项目问题去搜寻众多API解释时,使用何种方法合适,还是毫无方向。度娘还是最好的帮手,找到目标博案后再结合原版的API解释去理解,更为直观有效些。

今天记录一下求均值、中位数、众数的方式nums = [0,4,5,8,8]#求均值和中位数均可以使用numpy库的方法:import numpy as np#均值np.mean(nums)#中位数np.median(nums)#求均值和中位数均也可以使用panda库的方法:import panda as pdgm = pd.Series(data=nums)#均值gm.mean()#中位数gm.median()求众数方法一:

在numpy中没有直接的方法,但是也可以这样实现:

import numpy as np#获取平铺后每个索引位置值在原始数列中出现的次数counts = np.bincount(nums)#返回众数 返回最大值在数列中的索引位置np.argmax(counts)

其中np.bincount方法返回了一个长度为nums最大值的列表

即 [0,4,5,8,8] ——> bincount 返回 长度为8的列表

[1,0,0,0,1,1,0,0,2] 也就是把0-8平铺到列表里,然后对0-8的每个数字计数

此处0、4、5各为1次,所以在返回的列表内的对应索引位置显示为1

8为2次,即索引8的位置显示2

其中np.argmax方法返回数列中最大值的索引位置。

即[1,0,0,0,1,1,0,0,2] ——> 最大值2的索引位置为8

求众数方法二——直接利用scipy下stats模块:from scipy import statsnums = [0,4,5,8,8]stats.mode(nums)[0][0]

求众数方法三——panda下mode()方法直接获取众数:import pandas as pdv = [3,5,6,2,6,9]gm = pd.Series(data=v)gm.mode()[0]

这里都运用了第三方的统计数据类包 panda、scipy、numpy

对于数据分析师而言都是必须掌握的工具包,api繁多,任重而道远

笔者还未接触过scipy,此处是对scipy的浅显的理解:

scipy包含致力于科学计算中常见问题的各个工具箱。它的不同子模块相应于不同的应用。像插值,积分,优化,图像处理,统计,特殊函数等等。

scipy是Python中科学计算程序的核心包; 它用于有效地计算numpy矩阵,来让numpy和scipy协同工作。

下载安装:Mac 终端

命令:pip install wheel

命令:shenjiaming$ sudo pip3 install -U numpy scipy

部分转载自 python求均值、中位数、众数的方法 - 斑点鱼的博客 - CSDN博客



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有